# -*- coding: utf-8 -*-

from django.db import models
from django.contrib.auth.models import User
from django.forms import ModelForm

class tagiZainteresowanZawodowych(models.Model):
        class Meta:
                verbose_name="Tag zainteresowań zawodowych"
                verbose_name_plural="Tagi zainteresowań zawodowych"

	nazwa=models.CharField(verbose_name="Nazwa",max_length=50)

	def __unicode__(self):
		return self.nazwa

class tagiZainteresowanZawodowychForm(ModelForm):
	class Meta:
		model=tagiZainteresowanZawodowych
		exclude=('user')

class sekcja(models.Model):
        class Meta:
                verbose_name="Sekcja"
                verbose_name_plural="Sekcje"

	nazwa=models.CharField(verbose_name="Nazwa",max_length=50)

	def __unicode__(self):
		return self.nazwa

class userModel(User):
        class Meta:
                verbose_name="Użytkownik"
                verbose_name_plural="Użytkownicy"
		ordering = ['-username']

	#bylo przesloniete, tera je nowe
	#p_first_name=models.CharField(verbose_name="Imię", max_length=30, blank=True)
	#p_last_name=models.CharField(verbose_name="Nazwisko", max_length=30, blank=True)
	#p_email=models.EmailField(verbose_name="E-mail spoza koła", max_length=30, blank=True)

	#dane podstawowe
	dataUrodzenia=models.DateField(verbose_name="Data urodzenia", blank=True, null=True)
	miejsceZamieszkania=models.CharField(verbose_name="Miejsce zamieszkania",max_length=50, blank=True, null=True)
	plec=models.CharField(verbose_name="Płeć",max_length=1, choices=(('M','mężczyzna'), ('K','kobieta')), blank=True)
	telefon=models.CharField(verbose_name="Numer telefonu",max_length=50, blank=True, null=True)
	numerGG=models.PositiveIntegerField(verbose_name="Numer gg",blank=True, null=True)
	strona=models.URLField(verbose_name="Strona WWW",blank=True, null=True)
	zdjecieOficjalne=models.ImageField(verbose_name="Zdjęcie oficjalne",upload_to='zdjeciaOficjalne/',blank=True, null=True)
	zdjecieNieOficjalne=models.ImageField(verbose_name="Zdjęcie nieoficjalne",upload_to='zdjeciaNieOficjalne/',blank=True, null=True)
	tagiZainteresowanZawodowych=models.ManyToManyField(tagiZainteresowanZawodowych, verbose_name="Tagi zainteresowań zawodowych",blank=True, null=True)
	branze=models.CharField(verbose_name="Branże",max_length=300,blank=True, null=True)

	#kolo:
	sekcja=models.ManyToManyField(sekcja, verbose_name="Sekcja", blank=True)

	#informacje dodatkowe:
	kursySzkolenia=models.TextField(verbose_name="Kursy, szkolenia",blank=True, null=True)
	organizacje=models.TextField(verbose_name="Organizacje",blank=True, null=True)
	jezyki=models.CharField(verbose_name="Języki obce",max_length=300,blank=True, null=True)
	hobby=models.TextField(verbose_name="Hobby",blank=True, null=True)
	oSobie=models.TextField(verbose_name="O sobie",blank=True, null=True)

	def __unicode__(self):
		if not self.first_name and not self.last_name:
				return self.username
		return "%s %s" % (self.first_name, self.last_name)

class userModelForm(ModelForm):
	class Meta:
		model=userModel
		exclude=('username','password', 'is_active', 'is_superuser', 'last_login', 'date_joined', 'is_staff', 'groups', 'user_permissions')

class koloStatus(models.Model):
        class Meta:
                verbose_name="Status w kole"
                verbose_name_plural="Statusy w kole"

	user=models.ForeignKey(userModel,verbose_name="Użytkownik")
	nazwa=models.CharField(verbose_name="Nazwa",max_length=50)
	od=models.DateField(verbose_name="Od")
	do=models.DateField(verbose_name="Do",blank=True, null=True)
	
	def __unicode__(self):
		return self.user.p_last_name + " " + self.user.p_first_name + " - " + self.nazwa

class koloStatusForm(ModelForm):
	class Meta:
		model = koloStatus
		exclude=('user')

class koloStanowisko(models.Model):
        class Meta:
                verbose_name="Stanowisko w kole"
                verbose_name_plural="Stanowiska w kole"

	user=models.ForeignKey(userModel,verbose_name="Użytkownik")
	nazwa=models.CharField(verbose_name="Nazwa",max_length=50)
	od=models.DateField(verbose_name="Od")
	do=models.DateField(verbose_name="Do",blank=True, null=True)

	def __unicode__(self):
		return self.user.p_last_name + " " + self.user.p_first_name + " - " + self.nazwa

class koloStanowiskoForm(ModelForm):
	class Meta:
		model=koloStanowisko
		exclude=('user')

class edukacja(models.Model):
        class Meta:
                verbose_name="Edukacja"
                verbose_name_plural="Edukacja"

	user=models.ForeignKey(userModel,verbose_name="Użytkownik")
	wydzial=models.CharField(verbose_name="Wydział",max_length=50)
	kierunek=models.CharField(verbose_name="Kierunek",max_length=50)
	typStudiow=models.CharField(verbose_name="Typ studiów",max_length=20, choices=(('stacjonarne','stacjonarne'),('niestacjonarne','niestacjonarne')))
	poziomStudiow=models.CharField(verbose_name="Poziom studiów",max_length=20, choices=(('magisterskie','magisterskie'),('doktoranckie','doktoranckie'),('licencjackie','licencjackie')))
	od=models.DateField()
	do=models.DateField(blank=True, null=True)
	rokStudiow=models.CharField(verbose_name="Rok studiów",max_length=1)
	def __unicode__(self):
		return self.user.p_last_name + " " + self.user.p_first_name + " - " + self.wydzial

class edukacjaForm(ModelForm):
	class Meta:
		model=edukacja
		exclude=('user')

class doswiadczenieWKole(models.Model):
        class Meta:
                verbose_name="Doświadczenie w kole"
                verbose_name_plural="Doświadczenie w kole"

	user=models.ForeignKey(userModel,verbose_name="Użytkownik")
	nazwaProjektu=models.CharField(verbose_name="Nazwa projektu",max_length=50)
	stanowisko=models.CharField(verbose_name="Stanowisko",max_length=50)
	zakresPracy=models.CharField(verbose_name="Zakres pracy",max_length=50)
	od=models.DateField(verbose_name="Od")
	do=models.DateField(verbose_name="Do",blank=True, null=True)
	def __unicode__(self):
		return self.user.p_last_name + " " + self.user.p_first_name + " - " + self.nazwaProjektu

class doswiadczenieWKoleForm(ModelForm):
	class Meta:
		model=doswiadczenieWKole
		exclude=('user')

class doswiadczenieZawodowe(models.Model):
        class Meta:
                verbose_name="Doświadczenie zawodowe"
                verbose_name_plural="Doświadczenie zawodowe"

	user=models.ForeignKey(userModel,verbose_name="Użytkownik")
	firma=models.CharField(verbose_name="Firma",max_length=50)
	stronaFirmy=models.URLField(verbose_name="Strona WWW firmy",blank=True, null=True)
	stanowisko=models.CharField(verbose_name="Stanowisko",max_length=50)
	zakresPracy=models.CharField(verbose_name="Zakres Pracy",max_length=50,blank=True, null=True)
	od=models.DateField(verbose_name="Od")
	do=models.DateField(verbose_name="Do",blank=True, null=True)
	def __unicode__(self):
		return self.user.p_last_name + " " + self.user.p_first_name + " - " + self.firma
		
class doswiadczenieZawodoweForm(ModelForm):
	class Meta:
		model=doswiadczenieZawodowe
		exclude=('user')
